跳到主要内容

Kong 开发一个 gRPC 响应插件

报错 plugin is enabled but not installed;

这个原因是因为没有正确的设置 lua_package_path

# 设置纯 Lua 扩展库的搜寻路径(';;' 是默认路径): 这里填写具体的插件路径就行了
lua_package_path '/foo/bar/?.lua;/blah/?.lua;;';

# 设置 C 编写的 Lua 扩展模块的搜寻路径(也可以用 ';;'):
lua_package_cpath '/bar/baz/?.so;/blah/blah/?.so;;';

LuaRocks 初始化插件结构

当使用 LuaRocks 安装 grpc-kong-plugin 插件时,你可以按照以下步骤创建插件的目录结构:

1、创建插件目录:在终端中执行以下命令创建插件目录(假设插件名为 grpc-kong-plugin):

mkdir grpc-kong-plugin
cd grpc-kong-plugin

2、创建 grpc-kong-plugin 插件的 rockspec 文件: 在插件目录中执行以下命令创建 rockspec 文件:

luarocks init

这将在插件目录中创建一个名为 grpc-kong-plugin-X.X-X.rockspec 的文件(X.X-X 是版本号)。

3、编辑 rockspec 文件:使用文本编辑器打开 grpc-kong-plugin-X.X-X.rockspec 文件,根据插件的要求进行编辑。

  • package 表中的 version 字段设置为插件的版本号。
  • 根据插件的依赖关系,在 dependencies 表中添加所需的依赖项。例如,如果插件需要 Kong 和 grpc 库,可以添加以下内容:
dependencies = {
"kong >= 2.0",
"lua-resty-grpc"
}
  • build 表中,将 modules 字段设置为包含插件代码的 Lua 模块路径。通常,这是插件目录中的一个 Lua 文件。

4、创建插件代码文件: 在插件目录中创建一个 Lua 文件(例如 grpc-kong-plugin.lua),并添加插件的代码。

-- 插件的 Lua 代码

5、保存并退出 rockspec 文件和插件代码文件。

6、安装插件:在终端中,切换到插件目录,然后执行以下命令安装插件:

luarocks make

这将使用 rockspec 文件中定义的配置信息来构建并安装插件。